package com.starleague.hexagonal.android;

import com.starleague.hexagonal.IHexCoordinate;

public interface IHexGridMetrics
{
    double getScale();

    void setScale(double scale);

    int getHexWidth();

    int getHexQuarterWidth();

    int getHexThreeQuartersWidth();

    int getHexHeight();

    int getHexHalfHeight();

    int getHexElevationHeight();

    int getHexGridWidth();

    int getHexGridHeight();

    /**
     * TODO: Make getHexTop() and getHexLeft() into a single method (maybe pass in a Point2D object)
     */
    int getHexTop(IHexCoordinate hexCoordinate);

    /**
     * TODO: Make getHexTop() and getHexLeft() into a single method (maybe pass in a Point2D object)
     */
    int getHexLeft(IHexCoordinate hexCoordinate);

    IHexCoordinate getHexCoordinateAtPoint(int gridPointX,
                                           int gridPointY);
}
